# -*- coding: utf-8 -*-
from basehandler import BaseHandler
from modelos.usuario import Usuario

'''
Esta clase comprueba que no haya un usuario registrado y compara los datos
introducidos con la base de datos de usuario.
Si no hay coincidencia, muestra un mensaje de error o de bienvenida y se
redirigira a la pagina principal
Los motivos son: 1->No existe, 2->Contrasenya incorrecta, 3->Baneado,
                         4->Expulsado, 5->Cuenta no confirmada
'''
class LoginHandler(BaseHandler):
    def post(self):
        self.inicio()
        if not self.esta_logueado():
            # Tenemos que hacer el login
            m = self.request.get('b_mail')
            c = self.request.get('b_contrasenya')
            if m and c:
                # Los dos datos son correctos
                credencial = Usuario.login_por_mail(m, c)
                if credencial.get('acceso'):
                    self.session['user_name'] = credencial.get('nombre')
                    if credencial.get('admin'):
                        self.session['is_admin'] = True
                    else:
                        self.session['is_admin'] = False
                    # No mostrar aviso de inicio correcto sino ir a index
                    self.redirect('/')
                else:
                    #Mostrar aviso de inicio incorrecto
                    if credencial.get('motivo') == 1:
                        self.redirect('/aviso/7')
                    elif credencial.get('motivo') == 2:
                        self.redirect('/aviso/9?fecha=%s' % credencial.get('fecha'))
                    elif credencial.get('motivo') == 3:
                        self.redirect('/aviso/10')
                    elif credencial.get('motivo') == 4:
                        self.redirect('/aviso/8')
                    else: # motivo = 5
                        self.redirect('/aviso/11')
            else:
                # Mostrar aviso de petición incorrecta
                self.redirect('/aviso/6')
        else:
            # Mostrar aviso de usuario ya conectado
            self.redirect('/aviso/5')
